package com.artpri.service;

import java.util.List;
import java.util.Map;

import com.artpri.model.AdPicture;
import com.artpri.model.ShopkeeperInfo;
import com.artpri.model.vo.RecGoods;
import com.artpri.model.vo.SimpleGoods;

/**
 * 
 * @author ZhangSi
 *
 */
public interface AdPictureService {
	/**
	 * 图片状态
	 * <p>ALL 获取全部
	 * <p>SHOW 获取显示图片
	 * <p>UNSHOW 获取不显示图片
	 */
	 public enum ImageState { ALL, SHOW, UNSHOW }
	 
	 /**
	 * 获取指定页面<strong>板块位置</strong>图片信息
	 * @param plateName 板块位置编码
	 * @param state 图片状态
	 * @return Map<<code>String</code>, {@link com.artpri.admin.model.AdPicture </code>AdPicture<code>}>
	 * @see com.artpri.service.PagePictureService.ImageState
	 */
	 public Map<String, AdPicture> getAdPictureMapByPlate(String plateName, ImageState state);
	 
	 /**
	 * 获取指定页面<strong>板块位置</strong>推荐作品信息
	 * @param string
	 * @param show
	 * @return
	 */
	public List<RecGoods> getRecWorksByPlate(String plateName, ImageState show);

	/**
	 * 获取指定页面<strong>板块位置</strong>推荐作品信息
	 * @param plateName
	 * @param show
	 * @return
	 */
	public Map<String, RecGoods> getRecWorkMapByPlate(String plateName, ImageState show);

	/**
	 * 获取指定页面<strong>板块位置</strong>为你推荐-goods信息
	 * @param plateName
	 * @param state
	 * @return
	 */
	public Map<String, SimpleGoods> getRecGoodsMapByPlate(String plateName, ImageState state);

	/**
	 * 获取指定页面<strong>板块位置</strong>为你推荐-store信息
	 * @param plateName
	 * @param state
	 * @return
	 */
	public Map<String, ShopkeeperInfo> getRecStoreMapByPlate(String plateName, ImageState state);

	/**
	 * 获取指定页面<strong>板块位置</strong>买什么信息
	 * @param string
	 * @param show
	 * @param num
	 * @return
	 */
	public Map<String, List<SimpleGoods>> getBuyWhatMapByPlate(String plateName, ImageState state, int num);

	/**
	 * 获取商品详情页左侧作品推荐列表
	 * @param gcgId
	 * @return
	 */
	public List<SimpleGoods> getGoodsDetailRecWorkList(String plateNum, int num);
}
